Visual light communication (VLC) in which data is encoded into at least one visual data pattern of at least one frame pattern visually presented on a display of a sending device for capture by a camera of a receiving device has gained acceptance as an alternative to radio frequency (RF) communication of data. VLC has inherent security advantages over RF communications including being considerably more difficult to intercept as VLC is literally a form of line-of-sight communications. VLC is also able to be used in environments in which RF communications may not be permitted, such as on board aircraft where safety concerns exist over RF communications interfering with navigation systems.
As familiar to those skilled in sampling techniques, including the Nyquist-Shannon sampling theory, the rate at which the camera of the receiving device captures images of the frame patterns should be no less than twice the rate at which those patterns are visually presented on the display of the sending device to avoid data loss due to aliasing. Given that displays of typical computing devices are refreshed at a wide range of rates from 30 to 85 times per second, the capturing of images of frame patterns may need to be performed at a rate as high as 190 times per second.
Unfortunately, a high proportion of the captured images will be of no value. As many as half of the captured images will be of a new frame pattern amidst the process of being rendered onto the display to replace a previous frame pattern such that the captured image appears to include a frame pattern, but the apparent frame pattern is actually an unusable mixture of portions of two frame patterns. Others of the captured images may include a duplicate of a frame pattern already successfully captured in the previous captured image.
To distinguish captured images of unusable mixtures of frame patterns and of duplicates of frame patterns from useful captured images of frame patterns, the receiving device must attempt to decode whatever frame pattern may be included in each captured image. Thus, the receiving device may have to attempt to decode as many as 190 frame patterns per second, where no more than half will turn out to be useful frame patterns. These attempts at decoding frame patterns include decoding the data pattern and may also include performing a checksum or other check of integrity of the data pattern as part of distinguishing a mixture of two data patterns arising from an unusable mixture of two frame patterns from a single intact data pattern.
Each such attempt at decoding requires considerable processing resources, and accordingly, a considerable amount of electric power. With at least half of those frame patterns being of no value, the result is a waste of at least half of the electric power employed in such attempted decoding. This can become a significant issue where the receiving device relies upon a battery for the electric power to perform such attempts at decoding.